计算机网络(七)——计算机网络安全

计算机网络安全概述

计算机网络上面临的通信威胁

截获(interception)、中断(interruption)、篡改(modification)、伪造(fabrication)。
(1)被动攻击:观察者只是观察和分析一个PDU(protocol data unit,协议数据单元),而不干扰信息流,也叫通信量分析(traffic analysis)。
对付被动攻击主要采用加密。
(2)主动攻击:对连接中通过的PDU进行各种处理。
对付主动攻击主要采用报文鉴别(message authentication)。
主动攻击又可分为以下几种:

  • 更改报文流。
  • 拒绝报文服务。攻击者或删除某一连接的所有PDU,或将双方或单方的所有PDU延迟。如服务器处于“忙”状态,拒绝向发出请求的客户提供服务,这种方式称为DoS(denial of service,拒绝服务)。若从因特网上成百上千的网站中集中攻击一个网站,则称为DDoS(distributed denial of service,分布式拒绝服务)。
  • 伪造连接初始化。攻击者重放已被记录的合法连接初始化序列,或者伪造身份启动建立连接。
  • 恶意程序(rogue program)。如计算机病毒、计算机蠕虫、特洛伊木马、逻辑炸弹。
    计算机病毒(computer virtus):通过修改其它程序把自己或其变种复制进去。
    计算机蠕虫(computer worm):通过网络通信将自身的一个结点发送到另一个结点并启动运行的程序。
    特洛伊木马(Trojan horse):一个编译程序除了执行编译功能外,还把用户的源程序偷偷拷贝下来,这种编译程序就是一个特洛伊木马。计算机病毒通常也以特洛伊木马的形式出现。
    逻辑炸弹(logic bomb):当运行环境满足某种特定条件时,执行其他特殊功能的程序。

计算机网络安全的内容

保密性、安全协议的设计、接入控制

对称密钥体制

替代密码(substitution cipher)与置换密码(transposition cipher)

替代密码:密码与明文相差几个字符。
置换密码:根据某一规则重排消息中的字符的相对顺序。

分组密码(block cipher)

将明文划分为固定n比特的数据组,然后以组为单位,在密钥的控制下生成一系列密文。给定一个密钥后,若明文分组相同,则所变换出的密文分组也相同。分组密码的重要优点是不需要同步,因此广泛用于分组交换网中。分组密码中最有名的是美国的DES和IDEA。
(1) DES(data encryption standard,数据加密标准)
DES是一种分组密码。在加密前先对明文进行分组,每一组长为64bit。然后对每一组明文进行加密处理,产生一组64bit的密文。最后将各组密文串接起来,得到整个密文。其中使用的64bit的密钥只有56bit是密钥长度,其它8bit用于奇偶校验。
DES的加密取决于对密钥的加密,而算法是公开的。
(2) 三重DES(triple DES)
使用两个密钥,执行三次加密算法。没有使用多个密钥的原因是,两个密钥合起来已经有112bit,这对商用已经足够,使用多个带来不必要的开销。加密采用E-D-E加密,解密采用E-D-E解密。采用这种加密解密结构的原因是为了与现有DES系统向后兼容。

(3) IDEA(international data encryption algorithm,国际数据加密算法)
IDEA使用128bit密钥,它的加密过程与DES类似。

非对称密码体制

使用不同的加密密钥与解密密钥,加密密钥是公开的,解密密钥是需要保密的。加密算法阿和解密算法都是公开的。是一种由已知加密密钥推导出解密密钥在计算上是不可行的密码体制。
(1)RSA
命名由来:由美国三位科学家Rivesi、Shamir和Adleman于1976年提出的。
RSA的原理:根据数论,寻求两个大素数比较简单,但将它们的乘积分解则比较困难。
欧拉函数:在数论中,对正整数n,欧拉函数f(n)是小于或等于n的正整数中与n互质的数的数目。
f(n)=n(1-1/p1)…(1-1/pn), 其中pi为1到n范围内与n互质的质数。
(2)数字签名
发送方:用私钥进行数字签名,用公钥加密明文。

对称加密与非对称加密

  • 非对称加密不一定比对称加密安全。实际上,任何加密方法的安全性取决于密钥的长度和攻破密文所需要的计算量。
  • 非对称加密的开销较大。
  • 非对称密钥的分配过程并不比对称密钥分配简单,这需要密钥分配协议。

报文鉴别

主要是为了应对主动攻击中的篡改和伪造。
近年来广泛使用报文摘要(message digest)进行报文鉴别。它仅对短得多的定长报文进行加密。
报文摘要和循环冗余校验都是多对一的哈希函数的例子。
MD5算法
MD5算法是一种报文摘要算法。它可以对任意长的报文进行运算,然后得出128bit的MD报文摘要代码。
SHA算法(secure hash algorithm,安全散列算法)
SHA算法与MD5算法类似,但码长为160bit。其新版本SHA-1已制定出来。

密钥分配

目前常用的密钥分配方式是设立KDC(key distribution center,密钥分配中心)。
KDC还可以在报文中增加时间戳,防止报文的截获者利用以前记录下的报文进行重放攻击。
CA(certification authority,认证中心):将公开密钥与其对应的实体(如人或机器)进行绑定(blinding).

电子邮件的加密

PGP(pretty good privacy)是一个完整的电子邮件安全软件包,包括加密、鉴别、电子签名和压缩等技术。
PEM(privacy enhanced mail)是因特网的邮件加密建议标准。

因特网商务中的加密

商务安全方面较出名的协议有:SSL(secure socket layer,安全插口层)和SET(secure electronic transaction,安全电子交易)。
1)SSL可看成应用层和传输层之间的一个层。SSL和TLS(transport layer security,传输层安全协议)可用于HTTP和IMAP服务。
2)SET专门在因特网上进行信用卡交易的协议。

因特网的网络安全协议簇IPsec

IPsec(IP security协议)。网络层保密是指所有在IP数据报中的数据都是加密的。
防火墙
防火墙(Firewall)是由软硬件构成的系统,用来在两个网络间实时接入控制策略。防火墙用来解决内联网和外联网问题。防火墙的两个功能:阻止和允许。

加密算法总结
1、当前的专利算法包括但不限于:IDEA。已过专利保护期的加密算法已不再受专利保护;
2、已经被证明不再安全的公开加密算法包括:DES、MD5、SHA1、HMAC-MD5、HMAC-SHA1;
3、对称加密算法建议使用:AES;
4、密钥交换算法建议使用:DH;
5、数字签名算法建议使用:DSA、ECDSA;
6、非对称算法建议使用:ECC、RSA;
7、HASH(哈希)算法建议使用:SHA;
8、HMAC(基于哈希的消息验证码)算法建议使用:HMAC-SHA;

参考

互联网业务安全——加密解密
欧拉函数